/*
 * cesar.x: Cifrador cesar.
 */

/* 
 * estructura de la devolucion de resultados de la invocacion a la subrutina en RPC 
 * ESTE TIPO DE ESTRUCTURAS SON OBLIGATORIAS SI HAY QUE DEVOLVER RESULTADOS
 */

const CESAR_MESSAGE_SIZE = 800;

struct sCesarMmessageV2{
	int clave;
	char message[CESAR_MESSAGE_SIZE];
};
typedef struct sCesarMmessageV2 tMessageV2;

union retorno
	switch (int cod_ret) {
		case 1: char message[CESAR_MESSAGE_SIZE];
		default: void;
	};

program CESARPROG {
	version CESARVERS {
		retorno CYPHER(string<>) = 1;
		retorno UNCYPHER(string<>) = 2;
		retorno CESAR(tMessageV2) = 3;
	} = 1;
} = 0x20000064;

